namespace ext.dd
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Provides automatic scrolling of overflow regions in the page during drag operations.  The ScrollManager configs will be used as the defaults for any scroll container registered with it,
	/// but you can also override most of the configs per scroll container by adding a
	/// ddScrollConfig object to the target element that contains these properties: {@link #hthresh},
	/// {@link #vthresh}, {@link #increment} and {@link #frequency}. Example usage:
	/// 
	/// var el = Ext.get(&apos;scroll-ct&apos;);
	/// el.ddScrollConfig = {
	/// vthresh: 50,
	/// hthresh: -1,
	/// frequency: 100,
	/// increment: 200
	/// };
	/// Ext.dd.ScrollManager.register(el);
	/// Note: This class uses &quot;Point Mode&quot; and is untested in &quot;Intersect Mode&quot;.
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;Provides automatic scrolling of overflow regions in the page during drag operations.&lt;/p&gt;
	/// &lt;p&gt;The ScrollManager configs will be used as the defaults for any scroll container registered with it,
	/// but you can also override most of the configs per scroll container by adding a
	/// &lt;tt&gt;ddScrollConfig&lt;/tt&gt; object to the target element that contains these properties: {@link #hthresh},
	/// {@link #vthresh}, {@link #increment} and {@link #frequency}. Example usage:
	/// &lt;pre&gt;&lt;code&gt;
	/// var el = Ext.get(&apos;scroll-ct&apos;);
	/// el.ddScrollConfig = {
	/// vthresh: 50,
	/// hthresh: -1,
	/// frequency: 100,
	/// increment: 200
	/// };
	/// Ext.dd.ScrollManager.register(el);
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;b&gt;Note: This class uses &quot;Point Mode&quot; and is untested in &quot;Intersect Mode&quot;.&lt;/b&gt;
	/// </htmlSummary>
	/// <definedin>src\dd\ScrollManager.js</definedin>
	[ScriptName("ScrollManager")]
	[ScriptNamespace("Ext.dd")]
	[Imported()]
	public partial class ScrollManager
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		internal ScrollManager()
		{
		}
		#endregion
		
		#region Properties
		/// <summary>
		/// The number of pixels from the top or bottom edge of a container the pointer needs to be to
		/// trigger scrolling (defaults to 25)
		/// </summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("vthresh")]
		[IntrinsicProperty()]
		public System.Number Vthresh
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// The number of pixels from the right or left edge of a container the pointer needs to be to
		/// trigger scrolling (defaults to 25)
		/// </summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("hthresh")]
		[IntrinsicProperty()]
		public System.Number Hthresh
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The number of pixels to scroll in each scroll increment (defaults to 100)</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("increment")]
		[IntrinsicProperty()]
		public System.Number Increment
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The frequency of scrolls in milliseconds (defaults to 500)</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("frequency")]
		[IntrinsicProperty()]
		public System.Number Frequency
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>True to animate the scroll (defaults to true)</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("animate")]
		[IntrinsicProperty()]
		public bool Animate
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// The animation duration in seconds -
		/// MUST BE less than Ext.dd.ScrollManager.frequency! (defaults to .4)
		/// </summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("animDuration")]
		[IntrinsicProperty()]
		public System.Number AnimDuration
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// The named drag drop {@link Ext.dd.DragSource#ddGroup group} to which this container belongs (defaults to undefined).
		/// If a ddGroup is specified, then container scrolling will only occur when a dragged object is in the same ddGroup.
		/// </summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("ddGroup")]
		[IntrinsicProperty()]
		public string DdGroup
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Manually trigger a cache refresh.</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		[ScriptName("refreshCache")]
		public void RefreshCache()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Registers new overflow element(s) to auto scroll</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		/// <param name="el">The id of or the element to be scrolled or an array of either</param>
		[ScriptName("register")]
		public void Register(object el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Registers new overflow element(s) to auto scroll</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		/// <param name="el">The id of or the element to be scrolled or an array of either</param>
		[ScriptName("register")]
		public void Register(System.Array el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Unregisters overflow element(s) so they are no longer scrolled</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		/// <param name="el">The id of or the element to be removed or an array of either</param>
		[ScriptName("unregister")]
		public void Unregister(object el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Unregisters overflow element(s) so they are no longer scrolled</summary>
		/// <definedin>src\dd\ScrollManager.js</definedin>
		/// <param name="el">The id of or the element to be removed or an array of either</param>
		[ScriptName("unregister")]
		public void Unregister(System.Array el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
